home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 24 / Amiga Format AFCD24 (Feb 1998, Issue 108).iso / -in_the_mag- / emulation / amiga / uae-0.7.0b2 / src / include / osemu.h < prev    next >
C/C++ Source or Header  |  1998-01-20  |  4KB  |  115 lines

  1.  /*
  2.   * UAE - The Un*x Amiga Emulator
  3.   *
  4.   * OS emulation prototypes
  5.   *
  6.   * Copyright 1996 Bernd Schmidt
  7.   */
  8.  
  9. static __inline__ char *raddr(uaecptr p)
  10. {
  11.     return p == 0 ? NULL : (char *)get_real_address(p);
  12. }
  13.  
  14. extern void timerdev_init(void);
  15. extern void gfxlib_install(void);
  16. extern void execlib_install(void);
  17. extern void execlib_sysinit(void);
  18.  
  19. /* exec.library */
  20.  
  21. extern uaecptr EXEC_sysbase;
  22.  
  23. extern void EXEC_NewList(uaecptr list);
  24. extern void EXEC_Insert(uaecptr list, uaecptr node, uaecptr pred);
  25. extern void EXEC_AddTail(uaecptr list, uaecptr node);
  26. extern void EXEC_Enqueue(uaecptr list, uaecptr node);
  27. extern void EXEC_Remove(uaecptr node);
  28. extern uae_u32 EXEC_RemHead(uaecptr list);
  29. extern uae_u32 EXEC_RemTail(uaecptr list);
  30. extern uaecptr EXEC_FindName(uaecptr start, char *name);
  31.  
  32. extern uaecptr EXEC_Allocate(uaecptr memheader, unsigned long size);
  33. extern uaecptr EXEC_AllocMem(unsigned long size, uae_u32 requirements);
  34. extern void EXEC_FreeMem(uaecptr, unsigned long);
  35. extern void EXEC_Deallocate(uaecptr, uaecptr, unsigned long);
  36. extern void EXEC_FreeMem(uaecptr, unsigned long);
  37. extern unsigned long EXEC_AvailMem(uae_u32 requirements);
  38. extern void EXEC_AddMemList(unsigned long, uae_u32, int, uaecptr, uaecptr);
  39. extern void EXEC_InitStruct(uaecptr inittable, uaecptr memory, unsigned long size);
  40.  
  41. extern uaecptr EXEC_SetIntVector(int number, uaecptr interrupt);
  42. extern void EXEC_RemIntServer(uae_u32 nr, uaecptr interrupt);
  43. extern void EXEC_AddIntServer(uae_u32 nr, uaecptr interrupt);
  44.  
  45. extern int EXEC_AllocSignal(int signum);
  46. extern void EXEC_FreeSignal(int signum);
  47. extern void EXEC_InitSemaphore(uaecptr sigsem);
  48. extern uaecptr EXEC_GetMsg(uaecptr port);
  49. extern void EXEC_SumLibrary(uaecptr lib);
  50. extern uaecptr EXEC_SetFunction(uaecptr lib, int funcOffset, uaecptr function);
  51. extern void EXEC_MakeFunctions(uaecptr target, uaecptr funcarray, uaecptr funcdispb);
  52. extern uaecptr EXEC_MakeLibrary(uaecptr, uaecptr, uaecptr, unsigned long, uae_u32);
  53. extern void EXEC_AddLibrary(uaecptr lib);
  54. extern void EXEC_AddDevice(uaecptr lib);
  55. extern void EXEC_AddResource(uaecptr lib);
  56. extern void EXEC_AddPort(uaecptr port);
  57. extern void EXEC_RemPort(uaecptr port);
  58.  
  59. extern uaecptr EXEC_FindTask(char *name);
  60. extern uaecptr EXEC_FindResident(char *name);
  61. extern uaecptr EXEC_RawDoFormat(uae_u8 *fstr, uaecptr data, uaecptr pcp, uae_u32 pcd);
  62.  
  63. /* These require a multi-tasking EXEC emulation */
  64. extern uae_u32 EXEC_Wait(uae_u32 exec_sigmask);
  65. extern void EXEC_ObtainSemaphoreList(uaecptr l);
  66. extern void EXEC_ReleaseSemaphoreList(uaecptr l);
  67.  
  68. extern uae_u32 EXEC_Permit(void);
  69. extern uae_u32 EXEC_Forbid(void);
  70. extern uae_u32 EXEC_Disable(void);
  71. extern uae_u32 EXEC_Enable(void);
  72.  
  73. extern uae_s32 EXEC_WaitIO(uaecptr ioreq);
  74. extern uae_s32 EXEC_DoIO(uaecptr ioreq);
  75. extern void EXEC_SendIO(uaecptr ioreq);
  76. extern uaecptr EXEC_CheckIO(uaecptr ioreq);
  77. extern void EXEC_AbortIO(uaecptr ioRequest);
  78.  
  79. extern void EXEC_InitSemaphore(uaecptr exec_sigsem);
  80. extern uae_u32 EXEC_AttemptSemaphore(uaecptr exec_sigsem);
  81. extern void EXEC_ObtainSemaphore(uaecptr exec_sigsem);
  82. extern void EXEC_ReleaseSemaphore(uaecptr exec_sigsem);
  83.  
  84. extern uaecptr EXEC_OpenLibrary(char *name, int version);
  85. extern uaecptr EXEC_OpenResource(char *name);
  86. extern uaecptr EXEC_OpenDevice(char *name, uae_u32 unit, uaecptr ioRequest, uae_u32 flags);
  87. extern uae_u32 EXEC_CloseLibrary(uaecptr lib);
  88. extern uae_u32 EXEC_CloseDevice(uaecptr ioRequest);
  89.  
  90. extern uaecptr EXEC_AddTask(uaecptr task, uaecptr initPC, uaecptr finalPC);
  91. extern void EXEC_RemTask(uaecptr task);
  92. extern int EXEC_SetTaskPri(uaecptr task, int pri);
  93.  
  94. extern uae_u32 EXEC_SetSignal(uae_u32 newsig, uae_u32 exec_sigmask);
  95. extern void EXEC_Signal(uaecptr task, uae_u32 exec_sigmask);
  96.  
  97. extern void EXEC_PutMsg(uaecptr port, uaecptr msg);
  98. extern void EXEC_ReplyMsg(uaecptr msg);
  99. extern uaecptr EXEC_WaitPort(uaecptr port);
  100.  
  101. extern void EXEC_QuantumElapsed(void);
  102.  
  103. extern uaecptr EXEC_InitResident(uaecptr resident, uae_u32 segList);
  104.  
  105. /* timer.device */
  106.  
  107. extern void TIMER_block(void);
  108. extern void TIMER_unblock(void);
  109. extern void TIMER_Interrupt(void);
  110.  
  111. /* graphics.library */
  112.  
  113. extern int GFX_WritePixel(uaecptr rp, int x, int y);
  114.  
  115.